package io.fft.flight.modules.flight.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.fft.flight.common.annotation.EntityFieldDefault;
import lombok.Data;

import java.util.Date;

/**
 * 乘客信息
 *
 * @author likailun kellenli30541@gmail.com
 * @since 1.0.0 2024-06-19
 */
@Data
@TableName("t_order_passenger")
public class OrderPassengerEntity {

    /**
     * 主键
     */
	private Long id;
    /**
     * 订单编号
     */
	private String orderNo;
    /**
     * 乘机人编号 必须
     */
    @EntityFieldDefault()
    private String psgNo;
    /**
     * 乘客姓名，英文名字或拼音需在姓与名之间加上“/”，如“zhou/jielun” 必须
     */
    @EntityFieldDefault()
    private String psgName;
    /**
     * 乘机人类型 1成人 2儿童 3婴儿 必须
     */
    @EntityFieldDefault(value = "0")
    private Integer psgType;
    /**
     * 证件类型，
     * 1-身份证
     * 2-护照
     * 5-台胞证
     * 7-回乡证
     * 8-军官证
     * 9-其他，
     * 10-外国人永久居留证，
     * 14-港澳居民居住证，
     * 15-台湾居民居住证
     * 必须
     */
    @EntityFieldDefault(value = "0")
    private Integer cardType;
    /**
     * 证件号码 必须
     */
    @EntityFieldDefault()
    private String cardNo;
    /**
     * 手机号码 必须
     */
    @EntityFieldDefault()
    private String mobile;
    /**
     * 出生日期 必须
     */
    @EntityFieldDefault()
    private String birthday;
    /**
     * 账单价 必须
     */
    @EntityFieldDefault(value = "0")
    private Integer personPrice;
    /**
     * 机建 必须
     */
    @EntityFieldDefault(value = "0")
    private Integer personAirportTax;
    /**
     * 燃油
     */
    @EntityFieldDefault(value = "0")
    private Integer personTaxPrice;
    /**
     * 性别，1-男，2-女
     */
    @EntityFieldDefault(value = "0")
    private Integer gender;
    /**
     * 国籍，国家二字码，除身份证、港澳居民居住证、台湾居民居住证外其他证件类型必传
     */
    @EntityFieldDefault()
    private String countryCode;
    /**
     * 国籍名称，除身份证、港澳居民居住证、台湾居民居住证外其他证件类型必传
     */
    @EntityFieldDefault()
    private String countryName;
    /**
     * 发证国家二字码，，除身份证、港澳居民居住证、台湾居民居住证外其他证件类型必传
     */
    @EntityFieldDefault()
    private String issCountryCode;
    /**
     * 发证国家名称，，除身份证、港澳居民居住证、台湾居民居住证外其他证件类型必传
     */
    @EntityFieldDefault()
    private String issCountryName;
    /**
     * 证件有效期，格式为yyyy-MM-dd，，除身份证、港澳居民居住证、台湾居民居住证外其他证件类型必传
     */
    private Date cardExpireDate;
    /**
     * 应收金额
     */
    @EntityFieldDefault(value = "0")
    private Integer personSalePrice;
    /**
     * 技术服务费
     */
    @EntityFieldDefault(value = "0")
    private Integer personSaleServicePrice;
    /**
     * 实收金额
     */
    @EntityFieldDefault(value = "0")
    private Integer personSupRealAmount;
    /**
     * 返点
     */
    @EntityFieldDefault(value = "0")
    private Integer commisionPoint;
    /**
     * 定额
     */
    @EntityFieldDefault(value = "0")
    private Integer commisionMoney;
    /**
     * 创建者
     */
	@TableField(fill = FieldFill.INSERT)
    private Long creator;
    /**
     * 创建时间
     */
	private Date createDate;
    /**
     * 更新人
     */
    @EntityFieldDefault(value = "0")
	private Long updater;
    /**
     * 更新时间
     */
	private Date updateDate;
}